<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="UTF-8" />
    <meta http-equiv="X-UA-Compatible" content="IE=edge" />
    <meta name="viewport" content="width=device-width, initial-scale=1.0" />
    <title>Document</title>
  </head>
  <body>
    <script>
      //   function fn(a, b) {
      //     return a + b
      //   }

      //   fn(1,2)

      // //   function fn(a) {
      // //     return (b) => {
      // //       return a + b
      // //     }
      // //   }

      //   const fn = (a) => (b) => {
      //     return a + b
      //   }
      //   fn(1)(2)
      const obj = {}
      const PubSub = {
        subscribe(key, fn) {
          obj[key] = []
          obj[key].push(fn)
        },

        publish(key, data) {
          obj[key].forEach((item) => {
            item(data)
          })
        },
      }

      PubSub.subscribe('car', fn1)
      // const obj = {
      //   car:[fn1]
      // }

      PubSub.publish('car', 123)
    </script>
  </body>
</html>
